Service utilization termianl for providing users with functions provided on network

ABSTRACT

When a service utilization terminal such as a mobile telephone accepts a user&#39;s input to execute an application, it utilizes a function required for the application via a connector specifying the function required for the application. In this case, the service utilization terminal requests a connector provision server for the connector and obtains it. Only a service utilization terminal holding the connector can access the service provision server described in the connector so that the function required for executing the application can be utilized with a high level of usability and a high level of safety.

TECHNICAL FIELD

The present invention relates to a service utilization terminal, amobile telephone terminal, a television receiver terminal, a connectorprovision server and a data structure of connector data, andparticularly to a service utilization terminal, a mobile telephoneterminal, a television receiver terminal, a connector provision serverand a data structure of connector data which can conveniently and safelyprovide functions provided on networks, i.e., so-called Web services tousers.

BACKGROUND ART

Owing to recent improvement of functionality of terminal devices (whichwill be referred to merely as “terminals” hereinafter) such as a mobiletelephone, many functions can be incorporated into the terminal forexecuting complicated processing by the terminal alone. However, storagecapacities and processing speeds of the terminals are still limited, andit is difficult to perform complicated processing with a large quantityof data by the terminal alone.

According to widespread use of the Internet in recent years, it is nowpossible to utilize various services on the network by using personalcomputers or mobile telephones. These services include various kinds ofservices such as simple services for browsing web pages as well ascomplicated services for utilizing functions provided by servercomputers which are present on the network and have large storagecapacities and fast processing speeds. Particularly, the latterframework of utilizing the functions present on the network is referredto as a “Web service”, and is spreading remarkably rapidly.

The Web service has been described, e.g., in “Minute Explanation of WebService Construction” by Toshiya Moto, SoftBank Publishing Co., Ltd.,April 2003, 1 st edition, pp. 2-16. As illustrated in FIG. 39, the Webservice is a designation for frameworks utilizing functions distributedbetween various servers and terminals based on international standardtechnologies of SOAP (Simple Object Access Protocol), which is aprotocol defining a manner of data transfer for performing RPC (RemoteProcedure Call) between a terminal such as a personal computer (PC) anda server (Web Server), WSDL (Web Service Description Language) defininginput/output of functions provided by servers and UDDI (UniversalDescription, Discovery and Integration) defined for retrieving functionsof a server present on a network.

Japanese Patent Laying-Open No. 2003-101589 has disclosed a networkservice provision system as manners of providing and utilizing servicessuch as Web services over a network. Japanese Patent Laying-Open No.2003-101589 has disclosed a network service provision system which usesa mobile telephone as a remote control, and thereby allows useutilization of all services on the network via the mobile telephone.

However, the above system disclosed in the Japanese Patent Laying-OpenNo. 2003-101589 suffers from a problem that the functions, which arepresent outside the terminal on the network, can be uniquely handled,but functions inside the terminal cannot be handled in the same form.

In the general Wed service disclosed, e.g., in the foregoing reference“Minute Explanation of Web Service Construction”, it is impossible toset the functions which are present outside and inside the terminal, andcan be utilized by a specific application inside the terminal. Thisresults in a problem. Thus, it is impossible to impose limitations sothat only an application provided by a corporation A can utilize afunction which is present outside the terminal and is provided by thecorporation A.

Further, all the services present on the network can be utilized fromthe terminal, which results in a problem that it is possible to connectto and utilize a service and/or a function containing a problem insecurity. For example, such a problem is present that it is impossibleto inhibit access to a service which may destroy data in the terminal,and thus to allow utilization of only services and functions approved asbeing safety from the terminal.

Further, in a conventional application, a user interface of anapplication is not separated from a function of connecting to a serviceoutside the terminal and a function inside the terminal. This results ina problem that a plurality of different services can be selectively usedthrough the same interface.

The present invention has been developed for overcoming the aboveproblems, and it is an object of the invention to provide a serviceutilization terminal, a mobile telephone, a television receiverterminal, a connector provision server and a data structure of connectordata which can provide Web services of high convenience and safety.

DISCLOSURE OF THE INVENTION

For achieving the above object, a service utilization terminal accordingto an aspect of the invention includes a connector obtaining unitreferring to a description of an application, and obtaining a connectorbeing information for specifying a function required for executing theapplication, and a function utilizing unit accessing a location of thefunction described in the connector based on access information relatingto the location, and utilizing the function specified by the connector.

According to another aspect of the invention, a mobile telephoneterminal includes the foregoing service utilization terminal.

According to further another aspect of the invention, a televisionreceiver terminal includes the foregoing service utilization terminal.

According to further another aspect of the invention, a connectorprovision server includes a connector storing unit storing a connectorbeing information specifying a function required for executing anapplication, and including access information for a location of thefunction, a connector managing unit managing the connector stored in theconnector storing unit, and a connector transmitting unit receiving arequest for the connector from a service utilization terminal, andtransmitting the required connector to the service utilization terminal.

According to a further aspect of the invention, a data structure ofconnector data is information stored in storing means of a serviceutilization terminal for causing the service utilization terminal tospecify a function required for executing an application in the serviceutilization terminal, is information specified by a description of theapplication, and includes identifying information of the connector datafor specifying the connector data with reference to the description ofthe application; access information for accessing a location of thefunction by the service utilization terminal; input definitioninformation defining information to be passed to the function by theservice utilization terminal accessing the location according to theaccess information; and output definition information defininginformation to be received from the function by the service utilizationterminal with respect to the information passed to the function.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a specific example of a structure of a serviceprovision system according to an embodiment.

FIGS. 2 and 3 illustrate specific examples of a hardware structure and afunction structure of a service utilization terminal 100 according tothe embodiment.

FIG. 4 illustrates a specific example of a structure of an applicationmanaging unit 110.

FIGS. 5 and 36 illustrate specific examples of application data 310,respectively.

FIG. 6 illustrates specific examples of an application name 401, anapplication identifier 402, an expiration date 403 and a maximumutilization number 404 in application data 310.

FIGS. 7, 29 and 31 illustrate specific examples of an application 405,respectively.

FIG. 8 illustrates a specific example of a structure of a connectormanaging unit 120 in service utilization terminal 100.

FIGS. 9, 33, 37 and 43 illustrate specific examples of connector data710, respectively.

FIGS. 10 and 11 illustrate specific examples of a connector name 801, aconnector identifier 802, an expiration date 803 and a maximumutilization number 804 in connector data 710.

FIGS. 12 and 13 illustrate specific examples of input/output definitions805 a and 805 b.

FIG. 14 illustrates a specific example of an external function managingunit 130.

FIG. 15 illustrates a specific example of an internal function managingunit 140.

FIG. 16 illustrates a specific example of a structure of a simplifiedservice provision system.

FIG. 17 is a flowchart illustrating processing performed for executingan application in a service utilization terminal 1301.

FIG. 18 illustrates a specific example of an input screen.

FIG. 19 is a flowchart illustrating processing of utilizing a functionoutside a terminal in a step S109.

FIGS. 20, 21, 23-27, 30, 32, 34, 57, 58, 60 and 61 illustrate specificexamples of screens, respectively.

FIG. 22 is a flowchart illustrating processing of utilizing a functioninside the terminal in a step S110.

FIG. 28 schematically illustrates service utilization processingexecuted by the service utilization terminal according to the invention.

FIG. 35 illustrates a specific example of a simplified structure of aservice provision system according to a fourth modification.

FIG. 38 is a flowchart illustrating processing of utilizing the functionoutside the terminal in the fourth modification.

FIG. 39 illustrates a specific example of a structure of a general Webservice in a prior art.

FIGS. 40 and 41 illustrate specific examples of a hardware structure anda function structure of a connector provision server 280 of theembodiment.

FIG. 42 illustrates a specific example of a structure of a connectormanaging unit 520 in connector provision server 280.

FIG. 44 is a flowchart illustrating connector receiving processing inconnector provision server 280.

FIG. 45 illustrates a specific example of a service provision serverinformation table.

FIG. 46 illustrates a specific example of an application 405.

FIG. 47 is a flowchart illustrating connector transmitting processing ina connector provision server 1307.

FIGS. 48 and 50 illustrate some other specific examples of specifiedstructures of the service provision system.

FIGS. 49 and 51 illustrate specific examples of an input/outputdefinition.

FIG. 52 is a flowchart illustrating service relaying processing inconnector provision server 1307 of a fifth modification.

FIG. 53 illustrates a specific example of an application 405 of a sixthmodification.

FIG. 54 illustrates a specific example of an input screen.

FIG. 55 illustrates a specific example of the input screen after inputof information.

FIGS. 56 and 59 illustrate specific examples of application 405 of aseventh modification.

FIG. 62 illustrates specific examples of methods of storing and managingconnector data according to an eighth modification.

FIG. 63 illustrates a specific example of a structure of a terminal 6300according to a ninth embodiment.

FIG. 64 illustrates a detailed specific example of a divinationapplication 6310.

FIGS. 65 and 68 illustrate processing in the case of utilizing adivination Web service 6340 from a divination application 6310 and thecase of utilizing a divination Web service 2 (6350) from a divinationapplication 2 (6330).

FIGS. 66 and 69 illustrate specific examples of a part of connector data6320 and connector data 2 (6330) in the case of describing conversionrules 1-3 in XML.

FIG. 67 illustrates a specific example of a structure of a terminal 6300in the case of utilizing a plurality of different Web services from oneapplication.

FIGS. 70 and 71 illustrate specific examples of a method of changing aconnection destination of Web services 6340 and 6350 utilized fromapplication 6310.

BEST MODES FOR CARRYING OUT THE INVENTION

Embodiments of the invention will now be described with reference to thedrawings. In the following description, the same parts and componentsbear the same reference numbers and the same names, and achieve the samefunctions. Therefore, description thereof is not repeated.

A service provision system of an embodiment includes a serviceutilization terminal according to the invention and a service provisionserver providing a function to the service utilization terminal.

Referring to FIG. 1, a service utilization personal computer 100 a,which is a service utilization terminal in this embodiment (and may bereferred to as a “PC” hereinafter), is connected to a service provisionserver 210 providing functions to the service utilization terminals overa network 200.

Network 200 is further connected to a mobile telephone network 230, ahome network 260 and a connector provision server 280. A serviceutilization television 100 b, which is a service utilization terminal inthis embodiment, is connected to service provision server 210 viaso-called home network 260 and network 200.

Mobile telephone network 230 connected to network 200 is also connectedto a mobile telephone base station 240. A service utilization mobiletelephone 100 c, which is a service utilization terminal in thisembodiment, is connected to service provision server 210 via mobiletelephone base station 240, mobile telephone network 230 and network200.

In this embodiment, it is assumed that service utilization terminals arespecifically service utilization personal computer 100 a, serviceutilization television 100 b and service utilization mobile telephone100 c which access service provision server 210 over network 200 toutilize functions provided by service provision server 210. These arecollectively referred to as service utilization terminals 100. However,the service utilization terminals of the invention are not restricted tothese devices, and may be other terminals which can utilize thefunctions provided by service provision server 210 over the network.

For example, personal digital electronics devices such as PDAs (PersonalDigital Assistants), PVRs (Personal Vide Recorders) including a videorecorder, a DVD (Digital Video Disc) recorder, a hard disc videorecorder, a digital broadcast tuner and a home server as well asso-called white goods such as a refrigerator, a washer and a microwaveoven can be deemed as the service utilization terminals according to theinvention provided that the devices can utilize a network service.

Service provision server 210 is a server providing the function whichcan be utilized from service utilization terminal 100. The servicesprovided by service provision server 210 to service utilization terminal100 correspond to functions including applications, and specificallycorrespond to applications such as programs as well as functions (acharacter display function, a character decorating function, an imageobtaining function, an animation producing function and others) whichare required for executing applications in service utilization terminal100.

Connector provision server 280 is a server providing to serviceutilization terminal 100 a connector which is required for utilizing thefunction provided by service provision server 210 from serviceutilization terminal 100. The connector provided from connectorprovision server 280 to service utilization terminal 100 is informationfor specifying a function which is required for executing theapplication in service utilization terminal 100. Specific examples ofthe connector will be described later.

Referring to FIG. 2, service utilization terminal 100 according to theembodiment is formed of a CPU (Central Processing Unit) and others, andincludes a control unit 12 entirely controlling service utilizationterminal 100, a communication unit 11 for communication with anotherdevice and a storing unit 13 which is formed of a ROM (Read Only Memory)and a RAM (Random Access Memory), and stores programs to be executed bycontrol unit 12, intermediate data of the stored programs, data receivedfrom another computers and others.

Foregoing input/output unit 14 includes an operation unit 141 includingnumeric buttons of “1”, “2” and others as well as direction buttons of“R”, “L” and others, a display unit 142 such as an LCD (Liquid CrystalDisplay) displaying information for the user, an audio input unit 143such as a microphone for taking in a sound and an audio output unit 144such as a loud speaker for outputting a sound.

Storing unit 13 includes a general user changeable region 131 in whichstored contents can be changed by an operation of a general user, and ageneral user unchangeable region 132 in which stored contents cannot bechanged by the operation of the general user. General user unchangeableregion 132 primarily stores data which must not be changed by thegeneral user, and more specifically stores data such as telephonenumbers used in the case where service utilization terminal 100 is amobile telephone, an identifier unique to service utilization terminal100 and an address of the server for obtaining applications andconnectors to be described alter. However, means may be employed so thata service provider and a terminal maintenance operator, who may beauthorized to change data stored in general user unchangeable region132, can add, delete and/or change data to or in general userunchangeable region 132, and/or programs or the like can perform suchaddition, deletion and/or changing.

The hardware structure illustrated in FIG. 2 is a hardware structure ofa general mobile telephone, and the hardware structure of serviceutilization terminal 100 according to the invention is not restricted tothe hardware structure illustrated in FIG. 2.

Referring to FIG. 3, service utilization terminal 100 according to theembodiment includes an application managing unit 110, a connectormanaging unit 120, an external function managing unit 130, an internalfunction managing unit 140, a communication control unit 150 and astorage region 160. Functions of these units are achieved by controlunit 12 which reads and executes programs stored in storing unit 13 tocontrol various units and portions in the hardware structure illustratedin FIG. 2.

Storage region 160 includes general user unchangeable region 132 instoring unit 13, and stores access information (address) for serviceprovision server 210, access information (address) for connectorprovision server 280, identification information of service utilizationterminal 100 and others as already described.

Application managing unit 110 analyzes application data to determine arequired connector when an application is to be executed in serviceutilization terminal 100. It requests connector managing unit 120 toprovide the connector. Application managing unit 110 will be describedlater in greater detail.

Connector managing unit 120 obtains the connector requested byapplication managing unit 110. When service utilization terminal 100does not include the requested connector, connector managing unit 120reads access information for accessing connector provision server 280from storage region 160, and obtains the requested connector byaccessing connector provision server 280 according to the accessinformation thus read. Descriptions in the application may contain theabove access information for accessing connector provision server 280.Communication control unit 150 controls communication between serviceutilization terminal 100 and connector provision server 280 in the abovecase.

Connector managing unit 120 analyzes the connector data thus obtained todetermine the function, which is required for executing the application,and the location thereof. When the required function is present inservice provision server 210, i.e., when the required function can beprovided by service provision server 210, connector managing unit 120requests external function managing unit 130 to provide the function inquestion. When the required function is included in service utilizationterminal 100, connector managing unit 120 requests internal functionmanaging unit 140 to provide the function. Connector managing unit 120will be described later in greater detail.

External function managing unit 130 reads the access information forservice provision server 210 from storage region 160, and access serviceprovision server 210 according to the access information thus read. Itutilizes the function requested by connector managing unit 120.Communication control unit 150 controls the communication betweenservice utilization terminal 100 and service provision server 210 in theabove case.

Internal function managing unit 140 utilizes the function included inservice utilization terminal 100, and particularly the functionrequested by connector managing unit 120.

Referring to FIG. 4, application managing unit 110 includes anapplication data storage region 300 and an application data managingunit 320.

Application data storage region 300 stores application data 310.Application data 310 may be programs which can be executed by acomputer, and/or may be script files which can be interpreted andexecuted by a script interpreting device.

Application data managing unit 320 manages operations of applicationdata storage region 300 such as addition of application data 310,deletion thereof and downloading thereof over the network as well asoperations of application data 310 such as execution and stop of theapplications.

Referring to FIG. 5, application data 310 includes an application name401, an application identifier 402 which is information unique to theapplication, an expiration date 403 representing a date on or beforewhich the application can be executed, a maximum utilization number 404which represents the number of allowed operations of executing theapplication, and an application 405. Application 405 may be executableprograms, and may also be script files which are interpreted andexecuted by the script interpreting device.

In a specific example shown in FIG. 6, application name 401 is“Multimedia Message”. Application identifier 402 is set that vendor is“AAA Coop.” and a uniquely assigned number is “HG3490S2345”. Expirationdate 403 is valid until “Apr. 1, 2004”. Maximum utilization number 404is “100”.

FIG. 7 illustrates a specific example in the case where application 405is described with expanded SMIL (Synchronized Multimedia IntegrationLanguage). However, application 405 may be described in another format.

Referring to FIG. 7, a description 601 sets screen display of theapplication, and more specifically sets display in an image region of“width of 150, height of 100, left margin of 25 and top margin of 10”,similar display in a text region, display of a Text Art button with“width of 40, height of 30, left margin of 10 and top margin of 160”,similar display of a Camera button, similar display of a File button andsimilar display of a Send button.

A description 602 sets operations of actions, and more specifically setsan operation of an action named “TextArt”, in which “a connector named“TextArt” is searched for with a search range of “Terminal (insideservice utilization terminal 100”), and is utilized to pass a value of aText region to a corresponding function, and a result received from thefunction is displayed in the Text region”, an operation of an actionnamed “Camera”, in which “a connector named “Camera” is searched forwith a search range of “Terminal” and is utilized, it is not necessaryto pass the value to the corresponding function, and a result receivedfrom the corresponding function is displayed in an Image region, anoperation of an action named “File”, in which “a connector named “File”is searched for with a search range of “Terminal” and is utilized, it isnot necessary to pass the value to the corresponding function, and aresult received from the corresponding function is displayed in theImage region, and an operation of an action named “Send”, in which “aconnector named “Send” is searched for with a search range of “Send” andis used, it is not necessary to pass the value to the correspondingfunction, and a result received from the corresponding function does notupdate a display screen. Although not shown in FIG. 7, the search rangeof the connector may be connector provision server 280, or may beservice utilization terminal 100 and connector provision server 280(“Server”), in which case description 602 contains a description to thateffect.

A description 603 describes an operation to be performed when a buttonis depressed, and more specifically describes operations in the caseswhere a TextArt button that “an action named “TextArt” is executed” isdepressed, where a Camera button that “an action named “Camera” isexecuted” is depressed, a File button that “an action named “File” isexecuted” is depressed, and a Send button that “an action named “Send”is executed” is depressed.

When service utilization terminal 100 executes application 405illustrated in FIG. 7, screen display is performed as will bespecifically described later.

Referring to FIG. 8, connector managing unit 120 includes a connectordata storage region 700 and a connector data managing unit 720.

Connector data storage region 700 stores connector data 710.

Connector data managing unit 720 manages connector data storage region700, e.g., by adding or deleting connector data 710 or downloading itover the network. According to description details of connector data710, the functions of external and internal function managing units 130and 140 are utilized.

Referring to FIG. 9, connector data 710 includes a connector name 801which is information of the connector itself, a connector identifier 802which is information unique to the connector, an expiration date 803representing a usable period of the connector, a maximum utilizationnumber 804 representing the number of allowed operations of utilizingthe connector, and an input/output definition 805 defining passing ofthe data to/from the function defined by the connector.

In a specific example illustrated in FIG. 10, connector name 801 is“TextArt”. Connector identifier 802 is set such that vendor is “AAACoop.”, the vendor of the application allowed to use this connector is“AAA Coop.” and a uniquely assigned number is “LS4369P3550”. Expirationdate 803 is “valid until Apr. 1, 2004”. Maximum utilization number 804is “100”.

Connector data 710 illustrated in FIG. 10 has a feature that connectoridentifier 802 sets a vendor of the application capable of utilizing theconnector in question, and thereby restricts the application which canutilize the connector in question.

Referring to FIG. 11, connector name 801 is “Camera”. Connectoridentifier 802 is set such that the vendor is “AAA Coop.”, the vendor ofthe application allowed to use the connector is not designated (i.e.,any application can utilize the connector), and the uniquely assignednumber is “RE6589P8112”. Expiration date 803 is “not designated (alwaysutilizable)”. Maximum utilization number 804 is “not designated(utilizable infinitely)”

An input/output definition 805 a in a specific example illustrated inFIG. 12 defines functions included in devices other than serviceutilization terminal 100 in question when this service utilizationterminal 100 executes the application, and thus defines the passing ofdata with respect to the function provided by service provision server210 for utilizing this function. Referring to FIG. 12, a description2501 defines a type of data utilized by the function in question, andspecifically defines data, which is of a type of a character string andis named “TextArt request”, and data which is of a type of a Jpeg imageand is named “TextArt response”.

A description 2502 defines the name of the function as well as types ofinput data received by the function and output data returned by thefunction. More specifically, it defines that the name of the function is“TextArt”, data of the type named “TextArt request” is received and dataof the type named “TextArt response” is returned as the output value.

A description 2503 defines a name at the time when the function isprovided, access information for a location of the function and thefunction utilizable at the location, and specifically defines that thename of service is “TextArt service”, the address of service provisionserver 210, i.e., the location of the function is“http://example.url/TextArt” and the utilizable function is “TextArt”.

An input/output definition 805 a includes foregoing descriptions2501-2503 so that connector data managing unit 720 of serviceutilization terminal 100 accesses service provision server 210 ataddress “http://example.url/TextArt”, and passes the data of the type“TextArt request” to function TextArt included in service provisionserver 210. Thereby, it can recognize that the data of the TextArtresponse type can be obtained.

Input/output definition 805 a is not restricted to the definitionincluding the above descriptions, and may include descriptions using aformat of WSDL (Web Service Description Language) for the input/outputdefinition of the Web service which is generally and frequently used.The access information is not restricted to the format indicated by URL,and may be of another format provided that it is an URI (UniformResource Identifier) which is information relating to the access toservice provision server 210.

An input/output definition 805 b in a specific example illustrated inFIG. 13 defines passing of the data for the function included in serviceutilization terminal 100 for utilizing the function when serviceutilization terminal 100 executes the application. More specifically, adescription 2601 defines a format of the data utilized in the functionin question, and more specifically defines data which is named “Cameraresponse” and is of a format of the Jpeg image.

A description 2602 defines the name of the function as well as types ofinput data received by the function and output data returned by thefunction, and more specifically sets that the name of the function isCamera”, an input value is “Null” meaning that the input value is notreceived, and data of the type named “Camera response” is returned asthe output value.

Input/output definition 805 b illustrated in FIG. 13 does not includedescription 2503 illustrated in FIG. 12. More specifically, input/outputdefinition 805 b illustrated in FIG. 13 includes foregoing descriptions2601 and 2602, and thereby connector data managing unit 720 of serviceutilization terminal 100 can recognize from the Camera function includedin service utilization terminal 100 that the data of the Camera responsetype can be obtained. Naturally, input/output definition 805 b forutilizing the function included in service utilization terminal 100 mayinclude description 2503 defining a name at the time of provision of thefunction, access information for the location of the function and thefunction utilizable at the location, similarly to input/outputdefinition 805 a illustrated in FIG. 12. In this case, it is preferablethat a description, e.g., of “Local” indicating the access to serviceutilization terminal 100 itself is present as the access information forthe location of the function included in description 2503.

Input/output definition 805 b defining passing of the data to and fromthe function included in service utilization terminal 100 is notrestricted to the definition including the foregoing descriptions, andmay include descriptions using the format of WSDL for the input/outputdefinition of the Web service which is generally and frequently used.

Further, connector data 710 is not restricted to a data structureillustrated in FIG. 9. For example, input/output definition 805 mayinclude a plurality of input/output definitions 1 and 2 as illustratedin FIG. 43. This corresponds to the case where a connector supportsdifferent numbers of arguments for functions achieving a similar effect.For example, a connector, which defines a function of executing imagecombining processing, may support two image inputs, three image inputsand four or more image inputs. When a plurality of definitions 805 arepresent as illustrated in FIG. 43, one connector can deal with theseplurality of input patterns.

Further, as illustrated in FIG. 43, connector data 710 may include amaximum wait time 806, an allowed transfer number 807, a processing loadcoefficient 808 and a utilization charge 809 in addition to the datastructure illustrated in FIG. 9.

Since connector data 710 includes maximum wait time 806 as illustratedin FIG. 43, service utilization terminal 100 can perform exceptionalprocessing for utilizing the function of service utilization terminal100, which is specified in connector data 710, with reference to maximumwait time 806 included in connector data 710 when service utilizationterminal 100 utilizes the above function or when service utilizationterminal 100 accesses service provision data 210 on the network, anddownloads the function. Maximum wait time 806 included in connector data710 is only a value for reference purposes, and it actually depends onservice utilization terminal 100 or application 405.

Among the connectors, there is a connector(s) of which transfer betweenthe service utilization terminals is allowed only a certain number oftimes. Allowed transfer number 807 defines the number of allowedtransfers. Since connector data 710 includes allowed transfer number 807as illustrated in FIG. 43, service utilization terminal 100 candetermine whether connector data 710 held therein can be transferred ornot.

When service utilization terminal 100 utilizes the function of serviceutilization terminal 100 specified in connector data 710, or when itaccesses service provision data 210 on the network and downloads thefunction, service utilization terminal 100 may have a plurality ofconnector data specifying the substantially same function, in which caseservice utilization terminal 100 can utilize the function of any one ofthe plurality of connector data for executing an application. In thiscase, since connector data 710 includes processing load coefficient 808as illustrated in FIG. 43, connector managing unit 120 can automaticallyselect an optimum connector with reference to processing loadcoefficient 808 which can be indexes of a service processing time and aload required in its own terminal.

In connection with certain kinds of connectors, a user is charged forthe service utilization. Since connector data 710 includes utilizationcharge 809 as illustrated in FIG. 43, service utilization terminal 100can have the charge information. A user of service utilization terminal100 can read the charge information relating to the connectorsincorporated thereinto, and can utilize the information when determiningdeletion of unnecessary chargeable information.

Referring to FIG. 14, external function managing unit 130 is formed ofan external function calling unit 1101 and an external function resultanalyzing unit 1102.

External function calling unit 1101 calls by RPC (Remote Procedure Call)another device outside service utilization terminal 100, i.e., afunction which is present in service provision server 210 (and will bereferred to as an “external function” hereinafter). A general protocolsuch as SOAP (Simple Object Access Protocol) can be used for calling anexternal function by RPC.

External function result analyzing unit 1102 analyzes a result obtainedby the external function. The result returned by the external functioncan be received in a format according to a general protocol such as SOAPalready described.

Referring to FIG. 15, internal function managing unit 140 includes aninternal function calling unit 1201 and an internal function resultanalyzing unit 1202.

Internal function calling unit 1201 calls a function held in serviceutilization terminal 100 (i.e., it accesses a program or data held inservice utilization terminal 100). Internal function result analyzingunit 1202 receives a result obtained by executing the function held inservice utilization terminal 100, and analyzes the result.

Referring to FIG. 40, connector provision server 280 in this embodimentis formed of devices such as a CPU, and includes a control unit 22entirely controlling connector provision server 280, a communicationunit 21 for communication with another device, a storing unit 23 whichis formed of a memory device such as a ROM or RAM, and/or a disc drivesuch as a HDD for storing programs and various data required forexecuting the programs, an operation unit 24 formed of a keyboardincluding keys of various characters “A”-“Z”, numerics and symbols forexternally entering data into the terminal, and a display unit 25 formedof a display device for displaying various output results and details ofoperations.

Further, storing unit 23 includes a program storage region 231 forprimarily storing fixed data such as programs, a data storage region 232storing intermediate data of programs and data required for transfer toand from another computer.

A hardware structure illustrated in FIG. 40 is the same as that of ageneral personal computer, a work station or the like, and the hardwarestructure of connector provision server 280 according to the inventionis not restricted to the hardware structure illustrated in FIG. 40. Forexample, operation unit 24 and display unit 25 may be eliminated whenconnector provision server 280 in this embodiment operates.

Referring to FIG. 41, connector provision server 280 in this embodimentincludes a terminal managing unit 510, a connector managing unit 520, acommunication control unit 530 and a storage region 540. Functions ofthese units are achieved by reading programs stored in program storageregion 231 of storing unit 23, and controlling communication unit 21,storing unit 23 and data region 232 of storing unit 23 in FIG. 40according to the read programs.

Storage region 540 stores various data, and is formed of storing unit 23illustrated in FIG. 40.

Terminal managing unit 510 manages the terminal information of serviceutilization terminal 100 when this service utilization terminal 100requests connector provision server 280 to provide the connector. Morespecifically, terminal managing unit 510 stores identificationinformation and others, which can be used for uniquely identifyingservice utilization terminal 100 currently establishing a connection,and requests communication control unit 530 based on the identificationinformation to achieve transfer or passing to and from an arbitraryservice utilization terminal.

Connector managing unit 520 manages the connectors which can be providedby connector provision server 280. After determining, confirming andextracting the required connector according to the request provided fromservice utilization terminal 100, connector managing unit 520 transmitsthe necessary connector to communication control unit 530 includingcommunication unit 21 and control unit 22.

Referring to FIG. 42, connector managing unit 520 includes a connectordata storage region 900 and a connector data managing unit 920.

Connector data storage region 900 stores connector data 910 which issubstance of the connector to be provided in service utilizationterminal 100.

Connector data managing unit 920 performs addition, deletion, search andread of or for connector data 910. When connector provision server 280in this embodiment receives a request for a connector from serviceutilization terminal 100, connector data managing unit 920 searchesconnector data storage region 900 to extract the connector in question.When connector data 910 in question is found, connector data managingunit 920 reads items required for foregoing connector data 910, furtheredits the data of connector data 910 if necessary, and requestscommunication control unit 530 to transmit connector data 910 to serviceutilization terminal 100 in question.

Connector provision server 280 obtains the connector from serviceprovision server 210 connected over network 200, and stores it inconnector data storage region 900. In this operation, connectorprovision server 280 performs the connector receiving processing, whichwill now be described with reference to a flowchart of FIG. 44.

Referring to FIG. 44, connector provision server 280 receives connectordata 910 transmitted from service provision server 210 in step S510.

After the reception is completed in step S510, it is determined in stepS511 whether the reception is completed correctly or not. When thereception is correctly completed (YES in S511), the process proceeds tostep S512. Thus, received connector data 910 is stored in connector datastorage region 900 when the reception is correctly completed. Then, theprocess proceeds to step S513.

In step S513, connector provision server 280 stores various items ofinformation of service provision server 210, which is a vendor ofconnector data 910, in connector data managing unit 920 as a serviceprovision server information table. FIG. 45 illustrates a specificexample of the service provision server information table stored inconnector data managing unit 920 in step S513. Referring to FIG. 45, theservice provision server information table represents that a corporation“AAA Corp.” obtained connector data named “TextArt” with ID“LS4369P3550”. The date of obtaining is Apr. 1, 2003, and this connectorprovision server 280 can further distribute this connector data 100times.

When addition of information to service provision server 210 iscompleted in step S513, the communication between service provisionserver 210 and connector provision server 280 ends, and at the sametime, the connector receiving processing ends.

When the reception of connector data abnormally ends in step S511 (NO inS511), error processing is executed in step S514, e.g., by erasing thereceived data and notifying service provision server 210 of a receptionfailure, and the connector receiving processing ends.

By executing the connector data receiving processing described above,connector provision server 280 holds in connector data managing unit 920the connector data allowing access to the service provided by serviceprovision server 580.

In this embodiment, the connector is transferred by direct communicationfrom service provision server 210 to connector provision server 280.However, this is merely a specific example, and another manner may beemployed, e.g., to transfer the connector by using an external memorymedium such as a CD-ROM (Compact Disc ROM) or a memory card withoutusing communication. The vendor of the connector is not restricted toservice provision server 210, and may be another device which producedthe connector to be provided, but is not illustrated in FIG. 1.Connector data 910 has substantially the same structure as connectordata 710 of which specific examples are illustrated in FIGS. 9-13 and43.

When service utilization terminal 100 of the embodiment executes theapplication included in this service utilization terminal 100, thefunctions outside and inside service utilization terminal 100 can beutilized via the connectors as described below. In the followingdescription, it is assumed for the sake of illustration, that theservice provision system illustrated in FIG. 1 has a simplifiedstructure as illustrated in FIG. 16. Referring to FIG. 16, a serviceutilization terminal 1301 in this specific example includes a display1302 displaying a screen as well as a Camera function 1303, a Filefunction 1304 and a Send function 1305 serving as functions insideservice utilization terminal 1301. Service utilization terminal 1301 isconnected to a connector provision server 1307 via network 200, andobtains a connector provided by connector provision server 1307. Serviceutilization terminal 1301 is connected to a service provision server1306 via network 200, and utilizes a TextArt function which is afunction outside service utilization terminal 1301 and is provided byservice provision server 1306.

Processing illustrated in a flowchart of FIG. 17 is achieved bycontrolling various units and portions illustrated in FIG. 3, and suchcontrol is performed by control unit 12 reading the programs stored instoring unit 13 when service utilization terminal 1301 executes theapplication. In the following specific description, it is assumed thatapplication data 310 in FIG. 6 and application 405 in FIG. 7 areexecuted.

Referring to FIG. 17, an application first starts in step S101. At thispoint in time, application data managing unit 320 may analyzeapplication data 310 to determine whether the application can beexecuted or not, based on descriptions such as its expiration date andmaximum utilization number.

In next step S102, display 1302 displays an input screen of whichspecific example is illustrated in FIG. 18. More specifically, controlunit 12 executes in step S102 the screen display set by description 601of application 405 illustrated in FIG. 7.

Referring to FIG. 18, the input screen displayed on display 1302 in stepS102 includes an Image region 1701 displaying an image, a Text region1702 displaying characters, a TextArt button 1730 for utilizing theTextArt function, a Camera button 1704 for utilizing Camera function1303, a File button 1705 for utilizing File function 1304 and a Sendbutton 1706 for utilizing Send function 1305. These are displayed atpositions determined by description 601 in application 405.

In step S102, service utilization terminal 1301 accepts a user's inputvia the input screen illustrated in FIG. 18, and details of the inputare determined. When it is =determined in step S102 that the user'sinput is an instruction or the like utilizing the function inside oroutside service utilization terminal 1301 (YES in S102), the processproceeds to step S1041. Otherwise (NO in S102), the process proceeds tostep S103.

The determination in step S102 may be performed in the following manner.For this determination, application 405 illustrated in FIG. 7 performsanalysis to determine whether the use's input corresponds to any one ofevent elements set in description 603 or not, and whether the eventelement in question corresponds to each function in the action elementset in description 602 or not. More specifically, in the case ofapplication 405 illustrated in FIG. 7, when the user depresses one ofbuttons 1703-1706 illustrated in FIG. 18, it is determined that thefunction inside and/or outside service utilization terminal 1301 is tobe utilized.

When it is determined in step S102 that the details of the user's inpututilize neither the function inside service utilization terminal 1301nor the function outside service utilization terminal 1301, and relateto another function or the like (NO in S102), processing is performed instep S103 to deal with the user's input utilizing no functioninside/outside the terminal, and the process returns to step S102. Theabove processing is general processing, e.g., unique to the terminal,and is not restricted according to the invention, and this processingdoes not relate to an essence of the invention.

When it is determined in step S102 that the details of user's inpututilize the function inside or outside service utilization terminal 1301(YES in S102), processing is further performed in step S1041 todetermine a range which is searched for a connector corresponding to thefunction desired by the user, and the determined range is searched for apredetermined connector. Processing in step S1041 is performed based onthe description which sets the operation of the function included inactive application 405. More specifically, when active application 405is the same as that illustrated in FIG. 7, a required connector isretrieved from the defined search range with reference to a Scopeattribute value of description 602. In this example, since there is adescription “scope=“Terminal””, the connector matching with a conditiondesignated by “func=” “ ” is searched for inside service utilizationterminal 1301. When it is found from the searching in step S1401 that aplurality of connectors match with the designated condition (YES inS1042), it is preferable that display 1302 displays a selection screen(not illustrated), and the user selects the connector to be utilizedthrough input/output unit 14 represented on operation unit 141 in FIG. 1(S1043).

When it is determined from the search in step S1041 that a connectormatching with the designated condition is present in service utilizationterminal 1301 (YES in S1044), the process proceeds to step S1052, andthe corresponding connector data is obtained from connector data storageregion 700 inside service utilization terminal 1301. Then, the processproceeds to step S108.

When it is determined from the search in step S1041 that a connectormatching with the designated condition is not present in serviceutilization terminal 1301 (NO in S1044), the process proceeds to stepS1051. In step S11051, service utilization terminal 1301 is connected toconnector provision server 1307 to search for and download the necessaryconnector, and then the process proceeds to step S106.

In step S106, it is determined whether the connector was correctlydownloaded from connector provision server 280 or not. When downloadedcorrectly (YES in S106), the process proceeds to step S108. When thedownload ends in failure (NO in S106), the process proceeds to stepS107, in which an error message is produced, and the process proceeds tostep S111.

In step S108, connector data managing unit 720 analyzes the connectorobtained from service utilization terminal 1301 in step S1052 or theconnector downloaded from connector provision server 280 in step S1051,and determines whether the function to be used is the function insideservice utilization terminal 1301 or the function outside serviceutilization terminal 1301. For determination in step S108, such a mannermay be employed that the determination is performed based oninput/output definition 805 of connector data 710. More specifically,when input/output definition 805 of connector data 710 is input/outputdefinition 805 a illustrated in FIG. 12, it is determined from the URL,which serves as access information for the function set by description2503 in step S108, that the function is outside service utilizationterminal 1301 (NO in S108). When input/output definition 805 ofconnector data 710 is input/output definition 805 b illustrated in FIG.12, input/output definition 805 b does not include description 2503setting the URL as the access information for the function. In stepS108, therefore, the function is determined as the function insideservice utilization terminal 1301 (YES in S108). When input/outputdefinition 805 b includes description 2503 setting, e.g., “Local” as theaccess information for the function, it is determined based ondescription 2503 in step S108 that the function is the function insideservice utilization terminal 1301.

When it is determined in step S108 that the function desired by the useris the function outside service utilization terminal 1301, i.e., it isthe function provided by service provision server 1306 (NO in S108), theprocess proceeds to step S109, in which application managing unit 110executes the processing of utilizing the function outside the terminal.When the desired function is inside service utilization terminal 1301(YES in S108), the process proceeds to step S110, in which applicationmanaging unit 110 executes the processing of utilizing the functioninside the terminal. The processing of utilizing the function outsidethe terminal in step S109 and the processing of utilizing the functioninside the terminal in step S110 will be described later in connectionwith subroutines.

When the processing in step S109 or 110 ends, the process proceeds tostep S111. In step S111, contents displayed on display 1302 are updatedaccording to results of the processing in step S109 or S110.Alternatively, display 1302 may display an error message produced instep S107. Thereafter, the process returns to step S102, and theforegoing processing will be repeated.

Referring to FIG. 19, when service utilization terminal 1301 utilizesthe function outside service utilization terminal 1301, i.e., when itutilizes the function provided by service provision server 1306,application managing unit 110 first performs processing in step S201 todetermine from the active application whether the desired or intendedfunction outside service utilization terminal 1301 can be utilized ornot. The determination in step S201 is performed by comparing theidentifier set in the connector with the identifier set in theapplication. More specifically, connector data 710, of which specificexample is illustrated in FIG. 10, has connector identifier 802, inwhich value “AAA Coop.” is set as element “vendorLimit”. Applicationdata 310, of which specific example is illustrated in FIG. 6, hasapplication identifier 402, in which value “AAA Coop.” is set as element“vendor”. In step S201, the value of element “vendor” in connectoridentifier 802 matches with the value of element “vendor” of applicationidentifier 402. Therefore, application managing unit 110 determines thatthe application illustrated in FIG. 6 can utilize the function which islocated outside the terminal and is set in the connector illustrated inFIG. 10.

As described above, when it is determined in step S201 that the activeapplication can utilize the external function (YES in S201), the processproceeds to step S202. When it is determined that the external functioncannot be utilized (NO in S201), the process proceeds to step S206.

In step S202, connector managing unit 120 checks the expiration date ofthe connector and the maximum utilization number, and determines whetherthe connector can be still utilized or not. It is assumed that storageregion 160 has stored the number of times that the connector to behandled as the target in service utilization terminal 1301 was utilized,and the current date and time can be obtained from service utilizationterminal 1301. In step S202, the expiration date and maximum utilizationnumber of the connector can be obtained by referring to the values setin expiration date 803 and maximum utilization number 804 of connector710 illustrated in FIG. 9.

When it is determined in step S202 that the connector is still valid,and the current number of utilization times is smaller than the maximumutilization number (YES in S202), the process proceeds to step S204;When the connector has expired or the current number of utilizationtimes has reached the maximum utilization number (NO in S202), theprocess proceeds to step S203.

In step S203, display 1302 displays that the connector cannot beutilized, and the process returns to step S1051 of the main routine fordownloading a new connector.

In step S204, a result is obtained by connecting to service provisionserver 1306. In step S204, external function calling unit 1101 ofexternal function managing unit 130 passes the required data defined ininput/output definition 805 to service provision server 1306 connectedthereto. Then, external function result analyzing unit 1102 receives theresult from service provision server 1306, and passes it to activeapplication 405. Thereafter, processing in step S204 ends, and theprocess proceeds to step S205.

In step S205, it is determined whether a correct result is obtained fromservice provision server 1306 or not. This determination is performed,e.g., by determining whether the data obtained from service provisionserver 1306 is of the type defined by input/output definition 805 ornot. In another method, it may be determined from the access informationdefined by input/output definition 805 whether connection to serviceprovision server 1306 is made or not. When the connection to serviceprovision server 1306 is not made, or when the obtained result is notcorrect (NO in S205), the process proceeds to step S206, in which anerror message is produced to that effect. Then, the subroutine ends, andthe process proceeds to the main routine in FIG. 17. When the obtainedresult is correct (YES in S205), the subroutine ends, and the processproceeds to the main routine in FIG. 17.

Referring to FIGS. 20 and 21 illustrating specific examples of screendisplay, description will now be given on changes which occur on screenof display 1302 of service utilization terminal 1301 when the externalfunction is utilized.

When “Hello” is entered in Text region 1702 of service utilizationterminal 1301 on the screen illustrated in FIG. 20, and TextArt button1703 is depressed, the character string “Hello” is passed to serviceprovision server 1306 providing the TextArt function. Service provisionserver 1306 provides the character string “Hello” decorated with theTextArt function.

FIG. 21 illustrates a state in which the decorated character string“Hello” obtained by the above processing is displayed in Text region1702. This state is achieved owing to the following facts. When serviceutilization terminal 1301 is executing application 405 which isspecifically exemplified in FIG. 7, connector data 710 includinginput/output definition 805 a illustrated in FIG. 12 is obtained fromconnector data storage region 700 based on the description of <setMediafunc=“name: TextArt” scope=“Terminal”/> included in description 602 ofapplication 405, and input/output definition 805 a includes description2503 indicating the address of service provision server 1306 as alocation of the TextArt function. Thus, input/output definition 805 ofconnector data 710 corresponding to the function, which is included inapplication 405 executed in service utilization terminal 1301, is set topass the character string (“Hello” in this example), which is entered inthe Text region of service utilization terminal 1301, to the TextArtfunction of service provision server 1306, and to display the resultobtained by the TextArt function in Text region 1702.

Referring to FIG. 22, description will now be given on details of thein-terminal function utilizing processing in step S110 illustrated inFIG. 17.

Referring to FIG. 22, when service utilization terminal 1301 utilizesthe in-terminal function, i.e., the function inside the terminal,application managing unit 110 first determines in step S302 whether theactive application can utilize the intended function inside serviceutilization terminal 1301 or not. The determination in step S302 isperformed by comparing the identifier set in the connector with theidentifier set in the application. More specifically, connector data 710specifically exemplified in FIG. 11 has connector identifier 802, inwhich the value of “None” is set in the element named “vendorLimit”.This means that any application can utilize the function of thisconnector. In this case, therefore, application managing unit 110determines in step S302 that the application illustrated in FIG. 6 canutilize the function inside the terminal set in the connectorillustrated in FIG. 11.

As described above, when it is determined in step S302 that the activeapplication can utilize the function inside service utilization terminal1301 (YES in S302), the process proceeds to step S303. Otherwise (NO inS302), the process proceeds to step S306.

In step S303, connector managing unit 120 checks the expiration date andmaximum utilization number of the connector, and determines whether theconnector can be still utilized or not. It is assumed that storageregion 160 has stored the number of times that the connector to behandled as the target in service utilization terminal 1301 was utilized,and the current date and time can be obtained from service utilizationterminal 1301. In step S303, the expiration date and maximum utilizationnumber of the connector can be obtained by referring to the values setin expiration date 803 and maximum utilization number 804 of connector710 illustrated in FIG. 9.

When it is determined in step S303 that the connector is still valid,and the current number of utilization times is smaller than the maximumutilization number (YES in S303), the process proceeds to step S304.When the connector has expired or the current number of utilizationtimes has reached the maximum utilization number (NO in S303), theprocess proceeds to step S306. More specifically, in connector data 710specifically exemplified in FIG. 11, “expireDate” of expiration date 803is “None”, which means that the expiration date is not set or theconnector can always be utilized. Also, “expireNumber” of allowedutilization number 804 is “None”, which means that the maximumutilization time is not set or the data can be utilized any number oftimes.

In step S304, the internal function kept in service utilization terminal1301 becomes active to provide a result. Thus, in step S304, internalfunction calling unit 1201 in internal function managing unit 140 passesthe data required for the function inside service utilization terminal1301 defined in input/output definition 805 to service provision server1306, and activates it. Internal function result analyzing unit 1202receives the result provided by the internal function, and passes it toactive application 405. Thereafter, the processing in step S304 ends,and the process proceeds to step S305.

In step S305, it is determined whether a correct result is obtained bythe function inside active service utilization terminal 1301 or not.This determination is performed, e.g., by determining whether the dataobtained by the function inside service utilization terminal 1301 is thedata of the type defined by input/output definition 805 or not. When itis determined that the obtained result is not correct (NO in S305), theprocess proceeds to step S306, in which an error message is produced tothat effect. Then, the subroutine ends, and the process proceeds to themain routine in FIG. 17. When the correct result is obtained (YES inS305), the subroutine ends, and the process proceeds to the main routinein FIG. 17.

With reference to FIGS. 21 and 23-27 illustrating specific examples ofscreens, description will now be given on the changes which occur inscreen on display 1302 of service utilization terminal 1301 when theinternal function is utilized.

When a user depresses Camera button 1704 on service utilization terminal1301 while the screen illustrated in FIG. 21 is being displayed, Camerafunction 1303 in terminal 1301 starts.

FIG. 23 illustrates a specific example of an image capturing or shootingscreen displayed on display 1302 of service utilization terminal 1301when Camera function 1303 is active. Referring to FIG. 23, the shootingscreen includes a region 2001 in which an image captured by a cameralens (not shown) is displayed, and a shutter button 2002.

When a user depresses shutter button 2002 while the shooting screenillustrated in FIG. 23 is being displayed, the image displayed ondisplay 1302 changes to a composite image illustrated in FIG. 24.Referring to FIG. 24, an image captured by Camera function 1303 isdisplayed in Image region 1701 on the composite screen. This state isachieved owing to the following facts. When service utilization terminal1301 is executing, e.g., application 405 illustrated in FIG. 7,connector data 710 including input/output definition 805 b illustratedin FIG. 13 is obtained from connector data storage region 700 based onthe description of <setMedia func=“name: Camera” . . .scope=“Terminal”/> included in description 602 of application 405, andinput/output definition 805 b thus obtained is set such that the imagecaptured by Camera function 1303 inside service provision server 1306 isdisplayed in Image region 1701.

Further, when the user depresses File button 1705 while the compositescreen illustrated in FIG. 24 is being displayed, File function 1304 inservice utilization terminal 1301 starts to change the screen displayedon display 1302 to a file selection screen illustrated in FIG. 25.Referring to FIG. 25, the file selection screen includes a File region2201 for displaying a file list stored in storage region 1601 of thisterminal and an OK button 2202.

When the user selects a predetermined file in File region 2201, anddepresses OK button 2202 while the file selection screen illustrated inFIG. 25 is being displayed, the selected file is read from storageregion 160, and the screen displayed on display 1302 changes to the filedisplay screen illustrated in FIG. 26.

Referring to FIG. 26, an image selected by File function 1304 isdisplayed in Image region 1701 of the file display screen. This isachieved by the following fact. When service utilization terminal 1301is executing, e.g., application 405 illustrated in FIG. 7, connectordata 710 not including description 2503 indicating the address ofservice provision server 1306 as the location of the File function isnot included in input/output definition 805 based on the description of<setMedia func=“name: File” . . . scope=“Terminal”/> included indescription 602 of application 405, or connector data 710 includingdescription 2503 indicating service utilization terminal 1301 isobtained from connector data storage region 700, and its input/outputdefinition 805 has such setting that the image selected by File function1304 of service utilization terminal 1301 is displayed in Image region1701.

Further, when a user depresses Send button 1706 while the file displayscreen illustrated in FIG. 26 is being displayed, Send function 1305 inservice utilization terminal 1301 starts. When Send function 1305starts, the contents (Image and Text), which have been prepared asalready described, are transmitted to the predesignated destination.FIG. 27 illustrates a specific example of a transmission completionscreen which is displayed on display 1302 when the transmission iscompleted, and thus illustrates a specific example of the screenrepresenting the completion of the transmission. As illustrated in FIG.27, when Send function 1305 starts and transmits the prepared message,display 1302 displays a transmission completion indication 2203 to thateffect.

As described above, the service utilization terminal according to theinvention executes the service utilization processing illustrated, e.g.,in FIG. 28 to utilize the functions via the connectors, and thereby caneffectively accept the provision of the service, e.g., as follows.Referring to FIG. 28, when the service utilization terminal such as amobile telephone accepts a user's input to execute the application, thefunction required for the application is utilized via the connector. Inthis operation, the connector is obtained from the connector provisionserver by issuing a request thereto, if necessary. Thereby, theapplication can utilize the function inside the service utilizationterminal and the function, which is present outside the terminal and isprovided from service provision server, in the same manner. Thus, theuser can utilize the application without being aware of the fact thatthe service utilization terminal includes or does not include thefunction required for the application, which increases the user'sconvenience.

Based on the comparison (or matching) between the identifiers of theconnector and the currently active application, it is determined whetherthe specific function can be utilized from the application or not, andthereby it is possible to restrict the applications that can utilize thefunctions inside and outside the service utilization terminal. Since thefunction provided by the service provision server is utilized via theconnector, it is possible to restrict the utilization of the functionwhich is provided by the service provision server without providing theconnector. Thus, it is possible to prevent the use of the function whichis not intended by the application producer. More specifically, such asituation can be prevented that a connector not intended by theapplication producer is used for utilizing the function when executingthe application. Consequently, such a situation can be prevented thatthe function not intended by the application producer is used forexecuting the application. Thereby, the service utilization terminalexecutes the application as intended by the application producer. It isalso possible to prevent a situation that the service utilizationterminal executes a function, e.g., harmful to the service utilizationterminal. This can increase the safety of the users utilizing the Webservice.

Further, the connector sets the location of the function required forexecuting the application. Therefore, the application producer canproduce the application executing the intended function by setting theconnector without being aware of that the required function is includedin the service utilization terminal or that it is included in theservice provision server. Therefore, even when the information (e.g.,location and version) of the function required for executing theapplication is changed, it is not necessary to reflect the change in theapplication, and only rewriting or substitution of the connector canreflect the above change in the application. This facilitates productionof the application.

First Modification

As a first modification, FIG. 29 illustrates another specific example ofapplication 405. The first modification has a distinctive feature thatthe connector corresponding to the function used when executingapplication 405 is set according to a search condition of a description6021. Referring to FIG. 29, application 405 in the first modificationspecifically sets an operation of an action named “TextArt” as “itutilizes a connector which is retrieved from a search range defined as“Terminal+Server (service utilization terminal 100 and connectorprovision server 280)”, and is configured to employ input data of a typeof a character string and to provide output data of a type of a Jpegimage, a value in the Text region is passed to the correspondingfunction and a result received from the function is displayed in theText region.”

When executing application 405 illustrated in FIG. 29 on serviceutilization terminal 1301, the search range for the connector isdetermined to be both the inside and outside of service utilizationterminal 1301 in foregoing step S104, and the corresponding connector isobtained in step(s) S1051 and/or S1052. More specifically, reference ismade to descriptions 2501 and 2502 in input/output definition 805 ofconnector data 710 illustrated in FIG. 12, and a search is made for sucha connector that data provided to the function corresponding to theconnector is of a type of a character string, and data provided from thefunction corresponding to the connector is of a type of a Jpeg image.

When a plurality of connectors are obtained in step(s) S1051 and/orS1052, it is preferable to select the connector to be utilized bydisplaying a connector selection screen 2204 on display 1302 asillustrated in FIG. 30 prior to the processing in step S108.

By setting the connector according to the above search condition in theapplication, it is possible to set the connector for executing theintended function even when the application producer does not known thelocation of the connector.

When the service utilization terminal executes the above application,the optimum connector is selected from the plurality of retrievedconnectors, and the function corresponding to the selected connector canbe executed.

Second Modification

As a second modification, still another specific example of application405 is illustrated in FIG. 31. The second modification has a distinctivefeature that the connector corresponding to the function used forexecuting application 405 is set in application 405 with a searchcondition of a description 6022. Referring to FIG. 31, application 405in the second modification specifically sets an operation of an actionnamed “Test Art” as “it utilizes a connector which is retrieved from asearch range defined as “Terminal+Server (service utilization terminal100 and connector provision server 280)”, and has a service described as“character string decoration”, a value in the Text region is passed tothe corresponding function and a result received from the function isdisplayed in the Text region”.

When executing application 405 illustrated in FIG. 31 on serviceutilization terminal 1301, the search range for the connector isdetermined to be both the inside and outside of service utilizationterminal 1301 in foregoing step S104, and the corresponding connector isobtained in step(s) S1051 and/or S1052. More specifically, reference ismade to description 2503 or the like of input/output definition 805 ofconnector data 710 illustrated in FIG. 12, and a search is made for aconnector that is correspondingly described in the description of theservice not illustrated in FIG. 12.

When the plurality of corresponding connectors are obtained in step(s)S1051 and/or S1052, it is preferable to select the connector to beutilized by displaying a connector selection screen 2205 on display 1302as illustrated in FIG. 32 prior to the processing in step S108.

By setting the connector according to the above search condition in theapplication, it is possible to set the connector for executing theintended function even when the application producer does not known thelocation of the connector, similarly to the first modification.

When the service utilization terminal executes the above application,the optimum connector is selected from the plurality of retrievedconnectors so that the function corresponding to the selected connectorcan be executed.

Third Modification

As a third modification, yet another specific example of connector data710 is illustrated in FIG. 33. The third modification has a distinctivefeature that restrictions on access are set as can be seen in adescription 806 in view of a type of the data to be handled by thecorresponding function. More specifically, connector data 710 in thethird modification illustrated in FIG. 33 is set to handle the data bythe File function such that the system data is read-only data, and isnot displayed, address book data is read-only data, and is displayed,and general data is readable data, and is displayed.

When service utilization terminal 1301 executes the File function viaconnector data 710 illustrated in FIG. 33, a file selection screen isdisplayed as illustrated in FIG. 34 according to result display in stepS111. Referring to FIG. 34, Sample1.jpg, Sample2.jpg and Sample3.jpg aredisplayed in File region 2206 as data handled by the File functiontogether with “[RW]” indicating the readable and writable (deletable)data. Also, address books 1.add and 2.add are displayed together with“[RO]”, which indicates that the data allows only browsing, and does notallow change and deletion of details thereof. Further, a file (notshown), of which display is restricted by “porp=“Hidden””, is notdisplayed.

As described above, the access to the data handled by the functioncorresponding to the connector is restricted so that it is possible toprovide a service achieving high levels of security.

Naturally, the restrictions on the access to the data handled by thecorresponding function may be achieved not only by the setting in theconnector but also by the function corresponding to the connector.

Fourth Modification

As illustrated in FIG. 35, a four modification has a distinctive featurethat service utilization terminal 100 accepts the application, which isthe function customized according to service utilization terminal 100,and is provided from service provision server 210, and also accepts theapplication of the connector, which is customized according to serviceutilization terminal 100, and is provided from connector provisionserver 280.

More specifically, when service utilization terminal 100 requests aspecific function to service provision server 210, service provisionserver 210 customizes the required function according to serviceutilization terminal 100, and application identifier 402 correspondingto service utilization terminal 100, e.g., illustrated in FIG. 36 isadded to application data 310.

When service utilization terminal 100 requests connector provisionserver 280 to provide a specific connector, connector provision server280 customizes the connector according to service utilization terminal100, and connector identifier 802 corresponding to service utilizationterminal 100 illustrated in FIG. 37 is added to connector data 710.

Service provision server 210 and connector provision server 280requested by service utilization terminal 100 uniquely assign theseapplication identifier 402 and connector identifier 802 by using uniqueinformation stored in general user unchangeable region 132 of storingunit 13 of service utilization terminal 100. The above uniqueinformation of service utilization terminal 100 may be automaticallytransmitted from service utilization terminal 100 together with therequest, or may be obtained from service utilization terminal 100 byservice provision server 210 and connector provision server 280receiving the request. Also, the unique information may be stored inadvance in a database (not illustrated) which can be accessed by serviceprovision server 210 and connector provision server 280.

In the above case, service utilization terminal 100 executes theprocessing of utilizing the function outside the terminal as illustratedin FIG. 38. More specifically, when processing similar to that in stepS201 of FIG. 19 is executed in step S401, and it is determined that theactive application can utilize the external function (YES in S401), theprocess proceeds to step S412 to compare identifier 402 of theapplication with identifier 802 of the connector, and it is determinedwhether service utilization terminal 100 can utilize the correspondingfunction via connector 710 for executing application 405 or not. In stepS412, it is confirmed that identifiers 402 and 802 are both theidentifiers customized according to service utilization terminal 100.More specifically, it is determined, e.g., whether these identifiers 402and 802 include information representing service utilization terminal100 or not.

When it is confirmed from the comparison in step S412 that identifier402 of the application and identifier 802 of the connector arecustomized according to service utilization terminal 100 (YES in S412),the process proceeds to step S402. The processing in and after step S402is substantially the same as that in and after step S202 alreadydescribed.

When it is confirmed from the result of comparison in step S412 that atleast one of identifier 402 of the application and identifier 802 of theconnector is not customized according to service utilization terminal100 (NO in S412), the process proceeds to step S406, in which an errormessage is provided. Thereby, the processing ends, and the processreturns to the main routine in FIG. 17.

As described above, the service utilization terminal of the fourthembodiment of the invention has a distinctive feature that it executesthe application with the application and connector customized accordingto the service utilization terminal. This can ensure intended securityfor the application executed by the service utilization terminal and theconnector. When mismatching occurs between the application and theconnector, the application cannot use the connector not corresponding toit so that the service utilization terminal can execute the functionintended by the application producer.

When application 405 illustrated in FIG. 46 is being executed in theprocessing performed by service utilization terminal 1301 illustrated inFIG. 17 already described, processing in step S1041 is performed tosearch a defined search range for a required connector with reference toa Scope attribute value in description 6023. In this example,“scope=“Server”” is described in description 6023 so that it isdetermined in step S1044 that the connector is obtained by connecting toconnector provision server 1307 and downloading the connector therefrom.When the Scope attribute value in application 405 is described as“scope=“Terminal+Server””, it is determined as follows. Serviceutilization terminal 1301 first searches connector data storage region700 in the terminal for the required connector. When it cannot find theconnector, service utilization terminal 1301 is then connected toconnector provision server 1307, and downloads the required connector.Independently of the Scope attribute value, service utilization terminal1301 may be connected to connector provision server 1307 for downloadingthe connector every time the connector is required. Also, the connectorprovided by connector provision server 1307 may be compared with theconnector held in connector data storage region 700 in the terminal, andservice utilization terminal 1301 may be connected to connectorprovision server 1307 to download the required connector when theconnector provided by connector provision server 1307 is updated.

In step S1051, connector provision server 1307 is requested for therequired connector. Foregoing FIG. 46 illustrates a specific example inthe case where application 405 is described with expanded SMIL. However,application 405 may be implemented in another program such as Java (R)language or C language, or may be represented in another format.

In the above case, connector provision server 1307 performs connectortransmitting processing as will now be described with reference to aflowchart of FIG. 47. The processing illustrated in the flowchart ofFIG. 47 is implemented by controlling various portions and unitsillustrated in FIG. 41, and by control unit 22 performs this control byreading and executing the programs stored in storing unit 23 whenconnector provision server 1307 executes a service of providing theconnector to service utilization terminal 1301.

Referring to FIG. 47, the service starts in step S601. In next stepS602, when service utilization terminal 1301 requests the connector (YESin S602), connector data managing unit 920 obtains and confirms theinformation of the requester, i.e., service utilization terminal 1301.

In step S603, service utilization terminal 1301 may be confirmed byobtaining, as the service utilization terminal information, a terminalID included in the request information itself indicating the connectorrequest, and alternatively a user ID information of service utilizationterminal 1301 may be utilized as the service utilization terminalinformation. As the service utilization terminal information, it ispossible to employ further information which allows determination ofwhether the provision of the connector is allowed or not, based on theservice utilization terminal information. For obtaining further detailedinformation in step S603, connector provision server 1307 may inquire ofservice utilization terminal 1301 about the information of the terminalitself and the information of the user using the terminal.

In next step S604, connector data managing unit 920 determines based onthe service utilization terminal information obtained in step S603whether the connector is to be provided to service utilization terminal1301 or not. When it is determined in step S604 that the connector isnot to be provided, the process proceeds to step S601. When it isdetermined in step S604 that the connector is to be provided, theprocess proceeds to step S605.

The determination is step S604 may be performed based on the serviceutilization terminal information obtained in step S603. Morespecifically, reference may be made to information which is prestored interminal managing unit 510 and relates the terminals allowing provisionof the connectors, and the determination may be performed based on theservice utilization terminal information obtained in step S603. Inquiryto another authentication server may be made based on the serviceutilization terminal information obtained in step S603, and thedetermination may be made based on a result of this inquiry.

When connector provision server 1307 does not utilize any serviceutilization terminal information of service utilization terminal 1301,the process may proceed to step S604 without processing in step S603. Inthis case, the processing in step S604 does not utilize the informationprovided from service utilization terminal 1301, and it is determinedwhether the connector is to be provided or not, depending on the stateof connector provision server 1307 itself When connector provisionserver 1307 does not perform any access restriction, the process mayproceed to step S605 without processing in step S604.

In step S605, connector data managing unit 920 determines whetherconnector data storage region 900 has held the required connector ornot. Determination of whether connector data storage region 900 has heldthe required connector or not is performed by searching connector datastorage region 900 by connector data managing unit 920 to determinewhether the connector in question is present or not.

When connector provision server 1307 does not have the connector inquestion (NO in S605), the process proceeds to step S610 for errornotifying processing. When connector provision server 1307 holds theconnector in question (YES in S605), the process proceeds to step S606,in which connector data managing unit 920 partially edits the data ofconnector data 910 held thereby when necessary, and then the processproceeds to step S607, in which communication control unit 530 transmitsconnector data 910 in question to service utilization terminal 1301.

As one of specific examples of editing the connector in step S606,connector data 910 may be edited according to the terminal informationof service utilization terminal 1301 obtained in step S603.

More specifically, when reference is made to the terminal information ofservice utilization terminal 1301 to detect that service utilizationterminal 1301 has started the charged application, connector datamanaging unit 920 performs an edit not to indicate the maximumutilization number of connector data 910 or to postpone the expirationdate infinitely in step S606. By the above edit, the function specifiedby connector data 910 can be utilized without limitation when executingthe application on service utilization terminal 1301.

More specifically, when reference is made to the terminal information ofservice utilization terminal 1301 to detect that service utilizationterminal 1301 has started the application in a state of an “evaluationcopy”, connector data managing unit 920 performs an edit in step S606 toset the maximum utilization number of connector data 310 at 10 times, orto postpone the expiration date by one week from the date of request. Bythe above edit, the number of allowed utilizing operations of thefunction specified by connector data 910 as well as the expiration datecan be restricted when executing the application on service utilizationterminal 1301.

More specifically, the terminal information of service utilizationterminal 1301 obtained in step S603 specifies the type of serviceutilization terminal 1301 and a contract communication carrier, andconnector data managing unit 920 edits connector data 910 according tothem in step S606. For example, it is preferable to perform an edit,e.g., by changing the format of the data provided from the functionspecified by connector data 910 according to a resolution of a displaydevice in service utilization terminal 1301 of the specified type, adisplayable color tone, a quantity of data which can be transmitted by acommunication carrier of specified service utilization terminal 1301 andothers.

In another specific example of a manner of editing the connector,connector data 910 may be edited according to the format of serviceprovision server 1306. More specifically, as illustrated in FIG. 48, aplurality of service provision servers 306 (Server1-Server3) providingthe same function may be present. This system structure is used for thepurpose of dealing with such a situation that a plurality of serviceutilization terminals simultaneously make access, and is generallyemployed when such a framework is employed that the plurality of serviceprovision servers can operate for providing the similar functions, andthe different service provision servers operate in response torespective requests made by the service utilization terminals. In stepS606, connector data managing unit 920 of the above system performs anedit to change the service provision server name (information of accessto service provision server) described in connector data 910 in a randomfashion or according to a predetermined algorithm. More specifically,the service definition in connector data 910 is edited to provide a line2703 in an input/output definition 805 c which is a specific example ofthe input/output definition in FIG. 49. This edit an prevent aconcentration of access from service utilization terminals 1301 to aspecific service provision server without employing a system ofdispersing the access to the service provision servers, and can dispersethe access.

The following specific example other than the above may be employed as amanner of editing connector data 910 according to the format of serviceprovision server 1306. As illustrated in FIG. 50, the service provisionsystem may include a relay station (also referred to as a “proxyserver”) 1308 relaying provision of the function between serviceutilization terminal 1301 and service provision server 1306, and serviceprovision server 1306 may provide the service via relay server 1308. Inthis system, connector data managing unit 920 performs the edit in stepS606 to change the information of access to service provision server1306, which is actually providing the service, into the information ofaccess to service relay server 1308. More specifically, the servicedefinition in connector data 910 is edited to provide a line 2803 in aninput/output definition 805 d, which is a specific example of theinput/output definition and is illustrated in FIG. 51. Serviceutilization terminal 1301 receiving the connector thus edited requeststhe provision of the function while assuming that service relay server1308 is service provision server 1306, according to the description ofthe connector. From a viewpoint of ensuring security, such restrictionsare generally imposed in many cases that the application can access onlyone server when this application is being executed in the serviceutilization terminal such as a mobile telephone. However, a plurality ofservice provision servers may provide functions, or it may be desired toutilize a similar function which is provided by another server similarand is better than that provided by the current server. In this case,service relay server 1308 is assumed as service provision server 1306according to the description of the connector, and is accessed. Thereby,service utilization terminal 1301 can utilize the optimum functionregardless of restrictions on the access to the service provisionservers.

When transmission processing in step S608 correctly ends (YES in S608),processing of updating the terminal managing information is executed instep S609. In step S609, the information of service utilization terminal1301, which transmitted the connector obtained in step S603, and thefact that the connector is transmitted to this terminal are recorded interminal information managing unit 210. In addition to the aboveprocessing of merely storing the information of service utilizationterminal 1301, processing may be performed by cooperation with anothercharging server (not shown) to charge for the issuance of the connectortogether with the recording of the transmission of the connector. Whenthe updating processing is not necessary, step S608 may be skipped, andthe process may proceed to a subsequent step.

When it is determined in step S608 that the transmission processingabnormally ends (NO in S608), the process proceeds to step S610 forerror notifying processing.

In step S610, a communication control 230 notifies service utilizationterminal 1301 requesting the connector that the connector requestingprocedure abnormally ended. If service utilization terminal 1301 has atime-out processing function or a communication error detectingfunction, the error notifying processing may be skipped, and only theerror processing of connector provision server 1307 itself may beperformed in step S610. Then, the process returns to step S602 forwaiting for a next connector request.

Service utilization terminal 1301 receiving the requested connector fromconnector provision server 1307 executing the above processing accessesservice provision server 1306 with reference to the access informationdescribed in the received connector so that the function provided byservice provision server 1306 can be utilized.

Fifth Modification

As a fifth modification, the service provision system illustrated inFIG. 50 already described may have such a structure that connectorprovision server 1307 has a function of relay server 1308, or connectorprovision server 1307 is integral with relay server 1308.

The service relay processing executed by connector provision server 1307in the above case will now be described with reference to a flowchart ofFIG. 52. The processing illustrated in the flowchart of FIG. 52 isimplemented by controlling the various units and portions in FIG. 41,and this control is performed by control unit 22 which reads andexecutes the programs stored in storing unit 23 when connector provisionserver 1307 functioning as the relay server accepts the request forprovision of the service from service utilization terminal 1301 insteadof service provision server 1306.

Referring to FIG. 52, connector provision server 1307, which receivedthe request for service provision from service utilization terminal 1301in step S700, determines in step S701 whether the requested service(function) is a target of relay processing or not. In step S701,connector data managing unit 920 searches connector data storage region900 for connector data 910 which is edited to change the information(address) for access to service provision server 1306 to the informationfor access to connector provision server 1307 itself functioning asrelay server 1308, and determines whether connector data 910 is providedto service utilization terminal 1301 or not.

When it is determined from the search in step S701 that connector data910, which was edited to change the access information to theinformation for access to connector provision server 1307 itself, wasprovided, connector data managing unit 920 searches connector datastorage region 900 for the original connector data corresponding toedited connector data 910 with reference to the service name describedin the connector. When the original connector data is detected from theconnector data storage region 900, it is determined that the request forservice provision can be relayed (YES in S702), and the process proceedsto step S703.

In step S703, connector provision server 1307 transmits the request forservice provision received from service utilization terminal 1301 tocorresponding service provision server 1306 based on the accessinformation described in the original connector data. In subsequent stepS704, connector provision server 1307 waits for a service response fromservice provision server 1306.

When service provision server 1306 correctly returns the response (YESin S704), the process proceeds to step S705, and connector provisionserver 1307 transmits the returned result to service utilizationterminal 1301, and the service relay processing ends.

When service provision server 1306 did not respond in step S704 (NO inS704), or when it is determined that the service (function) requested instep S702 is a target not to be relayed (NO in S702 and NO in S7025),the process proceeds to step S707, and connector provision server 1307abandons the received data and temporary storage data, and performserror processing, e.g., by notifying service utilization terminal 1301requesting the service provision to the effect that the service inquestion cannot be utilized.

In step S702, service provision server 1306 may recognize that it cannotprovide the service, and may notify connector provision server 1307 tothat effect. In this case, connector provision server 1307 determinesthat an reservation incapable of utilizing the service in question ismade (NO in S702 and YES in S7025), and transmits the information, whichindicates that a preset (fixed) service cannot be utilized, to serviceutilization terminal 1301 in step S706.

When the service provision server cannot provide the service for acertain period due to maintenance, it is generally necessary to notifyin advance the service users of the stop of service, or to operate asubstitution service provision server capable of providing the sameservices at the same address. By executing the processing describedabove, however, the above notification and the employment of thesubstitution service provision serve are not necessary, and theconnector provision server can be operated to serve also as thesubstitution service provision server so that the service provisionserver can have a simple structure.

The service relay processing in the connector provision server of thefifth modification is completed by the foregoing processing.

Sixth Modification

Referring to FIG. 53, application 405 according to a sixth embodimenthas such a distinctive feature that a plurality of “action” elements arerelated to an “event” element, and can be simultaneously executed by asingle input operation of the user.

More specifically, the following three operations are assigned to theaction which is named “auto-fill” and is executed when an “auto-fill”button is depressed. The three operations are “a connector named“getAddress” retrieved from search range of “Terminal” is utilized, itis not necessary to pass a value to the corresponding function and aresult received from the function is displayed in a “Text:1“region”, ” aconnector named “getCompany” retrieved from a search range of “Terminal”is utilized, it is not necessary to pass a value to the correspondingfunction and a result received from the function is displayed in a“Text:2” region” and “a connector named “getName” retrieved from asearch range of “Terminal” is utilized, it is not necessary to pass avalue to the corresponding function and a result received from thefunction is displayed in a “Text:3” region”.

According to the application of the above specific example, theconnectors are utilized as set in these operations. Thereby, in the caseof an input screen illustrated in FIG. 54, i.e., in the case whereseveral items of personal information such as an address, a company nameand a personal name must be entered, these information items areautomatically entered as illustrated in FIG. 55 by a single operation ofdepressing the “auto-fill” button regardless of whether theseinformation items are located inside the terminal or outside it. Thiscan reduce user's operations.

Seventh Modification

Referring to FIG. 56, application 405 according to a seventhmodification has a distinctive feature that a “text” element displayinga character string is handled as a target of a “switch” element forselecting an element satisfying a condition from a plurality ofelements, and this condition is based on the result received from theconnector.

More specifically, the following two “text” elements are assigned to the“switch” element in a description 5601 in FIG. 56. Each of the two“text” elements sets an operation of “utilizing a connector named“getRole” retrieved from a search range of “Terminal”, and displayingcontents of a file “secret.txt” in the “Text” region when the resultreceived from the function is “chief” or “director”” and an operation of“utilizing a connector named “getRole” retrieved from a search range of“Terminal”, and displaying contents of a file “public.txt” in the “Text”region” when the result received from the function is empty”.

In the application of this specific example, the connector is utilizedto perform the operation set in these “text” elements. For example, inconnection with a work flow for a corporation, therefore, theapplication displays contents illustrated in FIG. 57 to employeesauthorized to view important information, and the same applicationdisplays contents in FIG. 58 to general employees. In this manner, theapplication can change the contents or detailed to be displayedaccording to the details of authority, and thus can change the range ofdisplay according to predetermined conditions.

In application 405 illustrated in FIG. 59, a similar “switch” element isassigned to the portion of displaying the button. Thereby, display andnon-display of the button (“approve” button”) can be selected asillustrated in FIGS. 60 and 61, and it is possible to employ, e.g., sucha display manner that an “approve” button is displayed on a document forapproval to only employees having authority to approve.

Eighth Embodiment

As illustrated in FIG. 62, an eighth modification has a distinctivefeature that a server connected to a network holds the connector datastorage region and the connector data managing unit, and connectormanaging unit 1031 in service utilization terminal 1031 holds only thelocations of the connector data storage region and connector datamanaging unit held by the server.

In step S1044, a search is conducted on the connector data storageregion held by the server. When the connector in question is present inthe connector data storage region, the connector in question is obtainedfrom the connector data storage region in step S1052.

When the connector data in question is not found, the connector inquestion is downloaded from connector provision server 280 in stepS1051, and is stored in the connector data storage region of serviceutilization terminal 1031. The server holds the connector data storageregions and connector data managing units for the plurality of serviceutilization terminals in a fashion that the connector data storageregions and connector data managing units are related to the serviceutilization terminals, respectively.

Owing to the above structure, the server in this specific example candetermine the state of utilization of the connectors in the respectiveservice utilization terminals, and the server can collectively deal withthe charging processing and authorizing processing required at the timeof utilizing the functions.

Ninth Modification

When a value entered in accordance with a user interface of anapplication is processed by accessing predetermined service provisionserver 210 utilizing the connector, service provision server 210actually operates to process the input value utilizing a method that isa predetermined function. This processing will now be described as aninth modification.

Referring to FIG. 63, a terminal 6300 of the ninth modification includesapplication managing unit 110 formed of application data storage region300 and application data managing unit 320. Application data storageregion 300 has stored a divination application 6310.

Terminal 6300 includes connector managing unit 120 formed of connectordata storage region 700 and connector data managing unit 720. Connectordata storage region 700 has stored connector data 6320. Further,connector data 6320 includes information for utilizing a divination Webservice 6340 outside the terminal. Divination Web service 6340 is aservice providing a method of divination.

Referring to FIG. 64, divination application 6310 includes two screens,i.e., a divination interface 6410 for performing divination, and adivination result screen 6420 for displaying a result of the divination.

In divination interface 6410, forms 6411-6414 are prepared for enteringdata to be transmitted for utilizing the divination Web service. In thisembodiment, there are prepared the form of NAME 6411 for entering aname, the form of BIRTHDAY 6412 for entering a birthday, the form BLOOD6413 for entering a blood type and the form of HOMETOWN 6414 forentering a hometown. When a “divine” button 6415 is depressed, the dataentered into these forms are transmitted to the divination Web servicevia the connector. When a menu button 6416 is depressed, various menuitems are displayed for selection.

On divination result screen 6420, there are prepared a REUSLT region6421 for displaying the result and a RETURN button 6422 for returning tothe divination interface.

FIG. 65 illustrates a method 6510 which provides a divination Webservice 6340 for utilizing divination Web service 6340 from divinationapplication 6310. More specifically, FIG. 65 illustrates that method6510 provided by divination Web service 6340 has a name of “Horoscope”,and a first argument of the method is of a type of a character string,and has a name of “name”. A second argument of the method is of a typeof an integer, and has a name of “birthday”, and a return value of themethod is a bitmap image.

Referring to FIG. 65, when a user depresses “divine” button 6415 ondivination interface 6410 after entering a value of “Jiro Suzuki” in theform of NAME 6411, a value of “Mar. 13, 1973” in BIRTHDAY 6412, a valueof “AB type” in BLOOD 6413 and a value of “Hiroshima pref” in HOMETOWN6414, connector data 6320 for utilizing divination Web service 6340 iscalled.

It is assumed that connector data 6320 describes an URL representing alocation of divination Web service 6340, a specification of an API(application) of a method provided there and others. Connector data 6320further describes a conversion rule for passing the data entered viadivination interface 6410 to divination method 6510 provided bydivination Web service 6340, and a conversion rule for displaying avalue returned from divination method 6510 on divination result screen6420. Thus, instead of the input/output definition defining the passingof the data to the function determined by the connector, the connectordata in this modification includes the input/output definition definingthe passing of the data to the method which is a function utilized forusing the function or capability determined by the connector.

The following conversion rules are specifically described in connectordata 6320 for converting the data provided from divination interface6410 for utilizing divination method 6510.

(Rule 1) A value entered in form NAME 6411 is converted into a characterstring for use as a first argument of method 6510 named “Horoscope”.

(Rule 2) A value entered in form BIRTHDAY 6412 is converted into aninteger for use as a second argument of method 6510 named “Horoscope”.

(Rule 3) A bitmap image of a value returned from method 6510 named“Horoscope” is converted into a Jpeg image, and is displayed in regionRESULT 6421.

According to the rule 1, an external function managing unit, which isincluded in connector data managing unit 720 but is not illustrated inFIG. 63, converts the value “Jiro SUZUKI” entered in form NAME 6411 ofdivination interface 6410 into a character string, and passes theconverted value as the first argument of the Horoscope method ofdivination Web service 6340 to divination Web service 6340 called by theexternal function calling unit not illustrated in FIG. 63. According tothe rule 2, the value “Mar. 13, 1973” entered in form BIRTHDAY 6412 ofdivination interface 6410 is converted into an integer, and is passed todivination Web service 6340 as a second argument of the Horoscope methodof divination Web service 6340. According to the rule 3, the bitmapimage, which is a value returned from the Horoscope method of divinationWeb service 6340 is converted into a Jpeg image, and is displayed inregion RESULT 6421 of divination result screen 6420.

Referring to FIG. 66, it is declared in a description <convertmethod=“Horoscope”> that this description is a conversion rule for theHoroscope method.

In a description <paramConv fromApp=“NAME” fromType=“String”toService=“name” toService=“name” toType=“String”/>, it is declared thatthe data passed as a character string (String) with name “NAME” from theapplication is converted into a character string (String), and is passedto the argument of name “name” on a service side. In this case, sinceboth data are character strings, the conversion is actually unnecessary.

In a description <paramConv fromApp=“BIRTHDAY” fromType=“String”toService=“birthday” toType=“int”/>, it is declared that the data passedas a character string (String) with a name “BIRTHDAY” from theapplication is converted into an integer (int), and is passed to theargument named “birthday” on the service side.

In a description <returnConv fromService=“ReturnValue” fromType=“bitmap”toApp=“RESULT” toType=“jpeg”/>, it is declared that a bitmap image(bitmap), which is a value returned from the service side, is convertedinto a Jpeg image (jpeg), and is displayed in a region “RESULT” on theapplication side.

In a description </convert>, it is declared that the definition of theconversion rules for the Horoscope method ends.

When the data provided from divination interface 6410 is converted inconnector data 6320 according to the descriptions in FIG. 66, anddivination method 6510 is utilized, the bit map image, which is a valuereturned from divination Web service 6340, is converted into the Jpegimage, and is displayed in region RESULT 6421 of divination resultscreen 6420 as illustrated in FIG. 65.

As described above, the connector data does not includes theinput/output definition defining the passing of the data to the functiondetermined by this connector, but alternatively includes theinput/output definition defining the data for the method which is afunction utilized for using the function or capability determined by theconnector. Thereby, the value provided in the application is notrequired to be a value corresponding to the argument of the method.Therefore, it is not necessary to prepare the interface of theapplication in view of the method to be utilized, which facilitatespreparation of the application.

Owing to the above structure of the connector data, it is possible toutilize a plurality of different Web services from one application.

Referring to FIG. 67, terminal 6300 in this case includes applicationmanaging unit 110 including application data storage region 300 andapplication data managing unit 320, similarly to the case illustrated inFIG. 63. It is assumed that application data storage region 300 hasstored divination application 6310.

Terminal 6300 includes connector managing unit 120 including connectordata storage region 700 and connector data managing unit 720. Connectordata storage region 700 stores connector data 1 (6320) and connectordata 2 (6330). Connector data 1 (6320) describes information forutilizing divination Web service 1 (6340) outside the terminal, andconnector data 2 (6330) described information for utilizing divinationWeb service 2 (6350) outside the terminal.

The processing for utilizing divination Web service 1 (6340) from adivination application 1 (6320) is already described with reference toFIG. 65. Processing for utilizing divination Web service 2 (6350) from adivination application 2 (6330) will now be described with reference toFIG. 68. FIG. 68 illustrates a method 6610 provided by Web service 2(6350) for utilizing divination Web service 2 (6350) from divinationapplication 2 (6330). More specifically, FIG. 66 illustrates that thename of method provided by Web service 2 (6350) is “HomeFortune”, thetype and name of the first argument of the method are a character stringand “name”, respectively, the type and name of the second argument ofthe method are a character string and “city”, respectively, and areturned value of the method is an HTML text.

Referring to FIG. 68, when “divine” button 6415 is depressed ondivination interface 6410 after entering a value of “Jiro Suzuki” in theform of NAME 6411, a value of “Mar. 13, 1973” in BIRTHDAY 6412, a valueof “AB type” in BLOOD 6413 and a value of “Hiroshima pref” in HOMETOWN6414, connector data 2 (6330) for utilizing divination Web servicebutton 2 (6350) is called.

It is likewise assumed that connector data 2 (6330) describes an URLrepresenting a location of divination Web service 2 (6350), aspecification of an API (application) of a method provided there andothers, similarly to connector data 1 (6320). Connector data 2 (6330)further describes a conversion rule for passing the data provided fromdivination interface 6410 to a divination method 6610 provided bydivination Web service 2 (6350), and a conversion rule for displaying avalue returned from divination method 6610 on divination result screen6420.

The following conversion rules are specifically described in connectordata 2 (6330) for converting the data provided from divination interface6410 for utilizing divination method 6610.

(Rule 1) A value entered in form NAME 6411 is converted into a characterstring for use as a first argument of method 6610 named “HomeFortune”.

(Rule 2) A value entered in form HOMETOWN 6414 is converted into acharacter string for use as a second argument of method 6610 named“HomeFortune”.

(Rule 3) An HTML text of a value returned from method 6610 named“HomeFortune” is displayed in region RESULT 6421 as it is.

According to the rule 1, an external function managing unit, which isincluded in connector data managing unit 720 but is not illustrated inFIG. 67, converts the value “Jiro SUZUKI” entered in form NAME 6411 ofdivination interface 6410 into a character string, and passes theconverted value as the first argument of the HomeFortune method ofdivination Web service 2 (6350) to divination Web service 6340 called bythe external function calling unit not illustrated in FIG. 67. Accordingto the rule 2, the value “Hiroshima pref” entered in form HOMETOWN 6414of divination interface 6410 is converted into a character string, andis passed to divination Web service 6340 as a second argument of theHomeFortune method of divination Web service 2 (6350). According to therule 3, the HTML text, which is a value returned from the HomeFortunemethod of divination Web service 2 (6350), is displayed in region RESULT6421 of divination result screen 6420 as it is.

Referring to FIG. 69, it is declared in a description <convertmethod=“HomeFortune”> that this description is a conversion rule for theHomeFortune method.

In a description <paramConv fromApp=“NAME” fromType=“String”toService=“name” toType=“String”/>, it is declared that the data passedas a character string (String) with name “NAME” from the application isconverted into a character string (String), and is passed to theargument of name “name” on a service side. In this case, since both dataare character strings, the conversion is actually unnecessary.

In a description <paramConv fromApp=“HOMETOWN” fromType=“String”toService=“city” toType=“String”/>, it is declared that the data passedas a character string (String) with name “HOMETOWN” from the applicationis converted into a character string (String), and is passed to theargument of name “name” on a service side. In this case, since both dataare character strings, the conversion is actually unnecessary.

In a description <returnConv fromService=“ReturnValue” fromType=“html”toApp=“RESULT” toType=“HTML”/>, it is declared that an HTML text (html),which is a value returned from the service side, is converted into anHTML text (html), and is displayed in a region “RESULT” on theapplication side. In this case, since both data are HTML texts, theconversion is actually unnecessary.

In a description </convert>, it is declared that the definition of theconversion rules for the HomeFortune method ends.

When the data provided from divination interface 6410 is converted inconnector data 2 (6330) according to the descriptions in FIG. 69, anddivination method 6610 is utilized, the HTML text, which is a valuereturned from divination Web service 2 (6350), is displayed in regionRESULT 6421 of divination result screen 6420 as illustrated in FIG. 68.

As described above, when two Web services 6340 and 6350 can be utilizedfrom one application 6310, switching is performed between connectiondestinations, i.e., Web services 6340 and 6350 as illustrated in FIGS.70 and 71. FIGS. 70 and 71 illustrate a specific example of a method ofchanging the destination between divination Web services 6340 and 6350for use from application 6310. FIG. 70 illustrates a specific example ofdisplay of divination interface 6410 of application 6310 which canutilize two divination Web services 6340 and 6350. More specifically,the display of divination interface 6410 illustrated in FIG. 70 is aspecific example which is performed when a user depresses a menu button6416 on divination interface 6410 illustrated in FIG. 64, and a menulist 6920 is displayed.

In a state illustrated in FIG. 70, when a user selects a connectiondestination change 6930 which is a selectable item displayed on menulist 6920, the display of divination interface 6410 changes into displayillustrated in FIG. 71. More specifically, when the user selectsconnection destination change 6930 on displayed divination interface6410 in FIG. 70, divination interface 6410 including a list ofselectable connection destinations is displayed as illustrated in FIG.71. In this modification, the displayed list includes two selectableitems, i.e., a divination service 1 (horoscope) 7010 and a divinationservice 2 (hometown divination) 7020.

When divination interface 6410 illustrated in FIG. 71 is displayed, theuser selects the connection destination from the divination services 1and 2 (7010 and 7020), and depresses a change button 7030 so that theconnection destination is changed. Thus, the connection destination isselected on displayed divination interface 6410 illustrated in FIG. 71so that connector data 1 (6320) or connector data 2 (6330) is decided asthe connector data for utilizing divination Web service 1 (6340) ordivination Web service 2 (6350) in application 6310, and connector datamanaging unit 720 utilizes the function of the external functionmanaging unit (not illustrated) according to details of description ofthe decided content data, and calls the function of divination Webservice 1 or 2 (6340 or 6350).

According to the ninth modification, as described above, the applicationdata and the connector data are separated from each other, and aremanaged independently of each other in terminal 630 so that the singleapplication can utilize a plurality of different Wed services.Therefore, the application can be produced easily in spite of the factthat the type of the application is a Web service. Regardless of the Webservice to be used, the data input can be performed through the sameuser interface so that the operation by the user can be easy.

The service utilizing method in the service utilization terminal and theconnector providing processing in the connector provision server can beprovided as programs. These programs can be provided as program productsin which the programs are recorded on computer-readable record mediumssuch as flexible discs, CD-ROMs, ROMs, RAMs or memory cards. Also, theprograms may be provided by recording them on record mediums such ashard discs arranged in computers. The programs may be provided by thedownload over networks.

The program product thus provided is executed by installing the programin a program storing unit such as a hard disc. The program productincludes a program itself and a record medium storing the program.

Although the present invention has been described and illustrated indetail, it is clearly understood that the same is by way of illustrationand example only and is not to be taken by way of limitation, the spiritand scope of the present invention being limited only by the terms ofthe appended claims.

INDUSTRIAL APPLICABILITY

According to the invention, as described above, the function providedover the network can be safely provided to the users with highconvenience so that the invention can be advantageously applied to theservice utilization terminal providing the function, which is providedover the network, to the users.

1. A service utilization terminal comprising: a connector obtaining unitreferring to a description of an application, and obtaining a connectorbeing information for specifying a function required for executing saidapplication; and a function utilizing unit accessing a location of saidfunction described in said connector based on access informationrelating to the location, and utilizing said function specified by saidconnector.
 2. The service utilization terminal according to claim 1,wherein said access information described in said connector is a URI(Uniform Resource Identifier) for accessing said location.
 3. Theservice utilization terminal according to claim 1, wherein said functionutilizing unit obtains result from said function by passing theinformation defined by said connector to said function specified by saidconnector.
 4. The service utilization terminal according to claim 3,wherein said connector includes data conversion information, and saidfunction utilizing unit converts data obtained from said applicationbased on said data conversion information, and passes the converted datato said function.
 5. The service utilization terminal according to claim3, wherein said function utilizing unit converts a result obtained fromsaid function based on said data conversion information, and passes theconverted result to said application.
 6. The service utilizationterminal according to claim 5, wherein said application is anapplication outputting the result obtained from said function, convertedby said function utilizing unit and passed from said function utilizingunit.
 7. The service utilization terminal according to claim 1, furthercomprising: a first connector determining unit comparing identificationinformation unique to said application with identification informationunique to said connector when executing said application, anddetermining whether said function can be utilized using said connectoror not.
 8. The service utilization terminal according to claim 7,wherein said application includes unique information customizedaccording to the service utilization terminal, said connector includesunique information customized according to the service utilizationterminal, and said first connector determining unit comparesidentification information unique to said customized application withidentification information unique to said connector, and determineswhether said function can be determined or not, using said connectorwhen service utilization terminal executes said application.
 9. Theservice utilization terminal according to claim 1, wherein saidconnector obtaining unit obtains a connector held by a different deviceby accessing said different device, and said service utilizationterminal further comprises a connector storing unit storing saidobtained connector.
 10. The service utilization terminal according toclaim 1, wherein said application includes validity informationincluding at least one of information relating to a valid period of saidapplication and a number of allowed operations of utilizing saidapplication, and said service utilization terminal further comprises anapplication determining unit referring to said validity information anddetermining whether said application can be executed or not.
 11. Theservice utilization terminal according to claim 1, wherein saidconnector includes validity information including at least one ofinformation relating to a valid period of said application and a numberof allowed operations of utilizing said connector, and said serviceutilization terminal further comprises a second connector determiningunit referring to said validity information when executing saidapplication, and determining whether said function can be specified ornot, using said connector.
 12. The service utilization terminalaccording to claim 11, wherein said connector obtaining unit obtains anew connector when said second connector determining unit determinesthat it is impossible to specify said function, using said connector.13. The service utilization terminal according to claims 1, wherein adescription of said application includes a connector condition providedwith an obtaining destination for obtaining said connector and at leastone of information unique to said connector and information relating tosaid function specified by said connector, and said connector obtainingunit obtains a connector satisfying said connector condition from saidobtaining destination.
 14. The service utilization terminal according toclaim 1, wherein said connector obtaining unit includes a connectorselecting unit selecting a predetermined connector from a plurality ofdifferent connectors as a connector to be obtained by said connectorobtaining unit when executing said application, and said functionutilizing unit utilizes a function specified by said selectedpredetermined connector among a plurality of different functionsspecified by said plurality of different connectors.
 15. The serviceutilization terminal according to claim 1, further comprising: anapplication obtaining unit obtaining said application.
 16. A mobiletelephone terminal comprising: the service utilization terminalaccording to claim
 1. 17. A television receiver terminal comprising: theservice utilization terminal according to claim
 1. 18. A connectorprovision server comprising: a connector storing unit storing aconnector being information including access information for a locationof said function for specifying a function required for executing anapplication; a connector managing unit managing said connector stored insaid connector storing unit; and a connector transmitting unit receivinga request for said connector from a service utilization terminal, andtransmitting said required connector to said service utilizationterminal.
 19. The connector provision server according to claim 18,wherein said connector includes identification information correspondingto said application.
 20. The connector provision server according toclaim 18, wherein said connector includes validity information includingat least one of information relating to a valid period of saidapplication and a number of allowed operations of utilizing saidconnector.
 21. The connector provision server according to claim 18,wherein the access information described in said connector is a URI(Uniform Resource Identifier) for accessing said location.
 22. Theconnector provision server according to claim 18, further comprising: aterminal managing unit obtaining terminal information of said serviceutilization terminal requiring said connector; and a determining unitdetermining based on said terminal information whether said requiredconnector is to be transmitted to said service utilization terminal ornot.
 23. The connector provision server according to claim 18, furthercomprising: a terminal managing unit obtaining terminal information ofsaid service utilization terminal requiring said connector; and a firstediting unit editing said required connector based on said terminalinformation.
 24. The connector provision server according to claim 18,further comprising: a second editing unit editing said requiredconnector according to a form of a location of said function.
 25. Theconnector provision server according to claim 24, wherein said secondediting unit changes access information described in said connector intoaccess information for access to a predetermined location among aplurality of locations when said function are located at said pluralityof locations, respectively.
 26. The connector provision server accordingto claim 24, wherein said second editing unit changes access informationdescribed in said connector into access information for access to saidconnector provision server, and said connector provision server furthercomprises a relay unit relaying access made to said connector provisionserver by the service utilization terminal requiring said function basedon said changed access information to said location of said function.27. A computer-readable record medium storing connector data storingconnector data being information stored in storing means of a serviceutilization terminal for specifying a function required for executing anapplication in said service utilization terminal, and being informationspecified by a description of said application, and having a datastructure comprising: identifying information of said connector data forcausing said service utilization terminal to specify said connector datawith reference to the description of said application; accessinformation for accessing a location of said function by said serviceutilization terminal; input definition information defining informationto be passed to said function by said service utilization terminalaccessing said location according to said access information; and outputdefinition information defining information to be received from saidfunction by the service utilization terminal with respect to saidinformation passed to said function.
 28. The computer-readable recordmedium storing connector data storing the connector data according toclaim 27, wherein said access information is a URI (Uniform ResourceIdentifier) for accessing said location by said service utilizationterminal.
 29. The computer-readable record medium storing connector datastoring the connector data according to claim 27, further comprising:validity information including at least one of information relating to avalid period of said connector data in said service utilization terminaland a number of allowed operations of utilizing said connector in saidservice utilization terminal, wherein said validity information enablessaid service utilization terminal to determine whether said function canbe specified using said connector data or not.
 30. The computer-readablerecord medium storing connector data storing the connector dataaccording to claim 27, further comprising: identification information ofan application identifying the application, said identificationinformation of the application enabling said service utilizationterminal to determine whether said function can be specified using saidconnector data or not, when executing said application.
 31. Thecomputer-readable record medium storing connector data storing theconnector data according to claim 27 further comprising: uniqueinformation customized according to the service utilization terminal,said unique information enabling said service utilization terminal todetermine whether said function can be specified using said connectordata or not, when executing said application.
 32. The computer-readablerecord medium storing connector data storing the connector dataaccording to claim 27, wherein said access information can be edited ina connector provision server providing said connector data.